#ifndef IUPGRADE_H
#define IUPGRADE_H

#include <QObject>
#include <QStringList>

class IUpgrade : public QObject
{
    Q_OBJECT
public:
    IUpgrade(QObject *parent = Q_NULLPTR) : QObject(parent) {}
    virtual ~IUpgrade() {}

    virtual void upgrade(const QString &path) = 0;
    virtual void enumUpgradePackages() = 0;

signals:
    void done(const QString &info, bool restart);
    void done(const QStringList &files);
};

#endif // IUPGRADE_H
